#include "stdafx.h"


#include "config.h"
#include "waconsts.h"


using namespace configlib;

configfile Config::g_configFile("../config.conf");


#define NEW_CONFIG_ITEM(type, section, var, def ) configlib::configitem< type > Config::var(g_configFile, section, #var , "", def)


//configitem<int> Config::bmpHeight( g_configFile, "Output", "bmpHeight", "", BMP_HEIGHT);
//configitem<int> Config::bmpWidth( g_configFile, "Output", "bmpWidth", "", BMP_WIDTH);
//configitem<bool> Config::bmpSizeCustomized (g_configFile, "Output", "bmpSizeCustomized","", false);
NEW_CONFIG_ITEM(int, "Output", bmpHeight,BMP_HEIGHT);
NEW_CONFIG_ITEM(int, "Output", bmpWidth ,BMP_WIDTH);
NEW_CONFIG_ITEM(bool, "Output", bmpSizeCustomized,false);

NEW_CONFIG_ITEM(bool,"FRM_VIEW",FRM_Amplitude,false);//Amplitude
NEW_CONFIG_ITEM(bool,"FRM_VIEW",FRM_EPosition,true);//Electrode Position
NEW_CONFIG_ITEM(bool,"FRM_VIEW",FRM_ENames,true);//Electrode Names
NEW_CONFIG_ITEM(bool,"FRM_VIEW",FRM_VALDisplay,false);//Value Display
NEW_CONFIG_ITEM(unsigned int,"FRM_VIEW",FRM_Interpolation,3);
NEW_CONFIG_ITEM(unsigned int,"FRM_VIEW",FRM_Resolution,3);
NEW_CONFIG_ITEM(DWORD,"FRM_VIEW",FRM_BGColor,BG_COLOR);//Background color;
NEW_CONFIG_ITEM(unsigned int,"FRM_VIEW",FRM_Gradation,65);//Color gradation
//Defining variables in "Frequency Map->View" section

NEW_CONFIG_ITEM(unsigned int,"VTM_VIEW",VTM_Interval,VTM_INTERVAL);// Animational interval
NEW_CONFIG_ITEM(bool,"VTM_VIEW",VTM_EPosition,true);//Electrode Position
NEW_CONFIG_ITEM(bool,"VTM_VIEW",VTM_ENames,true);//Electrode Names
NEW_CONFIG_ITEM(bool,"VTM_VIEW",VTM_VALDisplay,false);//Value Display
NEW_CONFIG_ITEM(unsigned int,"VTM_VIEW",VTM_Interpolation,3);
NEW_CONFIG_ITEM(unsigned int,"VTM_VIEW",VTM_Resolution,3);
NEW_CONFIG_ITEM(DWORD,"VTM_VIEW",VTM_BGColor,BG_COLOR);//Background color;
NEW_CONFIG_ITEM(unsigned int,"VTM_VIEW",VTM_Gradation,65);//Color gradation
//Defining variables in "Voltage Map->View" section

NEW_CONFIG_ITEM(unsigned int,"SPE_VIEW",SPE_Amplitude,0);
NEW_CONFIG_ITEM(bool, "SPE_VIEW", SPE_IsLog, false);
NEW_CONFIG_ITEM(int,"SPE_VIEW",SPE_Unit,0);
NEW_CONFIG_ITEM(bool,"SPE_VIEW",SPE_SPEDisplay,false);//Spectrum Display
NEW_CONFIG_ITEM(unsigned int,"SPE_VIEW",SPE_Scale,FRE_FULL_SCALE);//Frequency scale
NEW_CONFIG_ITEM(unsigned int,"SPE_VIEW",SPE_FREDisplay,3);//Freqeuncy display
NEW_CONFIG_ITEM(double,"SPE_VIEW",SPE_Gain,3.5);
NEW_CONFIG_ITEM(double,"SPE_VIEW",SPE_Step,0.5);
NEW_CONFIG_ITEM(unsigned int,"SPE_VIEW",SPE_Percentage,SPE_PERCENTAGE);
NEW_CONFIG_ITEM(DWORD,"SPE_VIEW",SPE_BGColor,BG_COLOR);
//Defining variables in "Spectrum->View" section

NEW_CONFIG_ITEM(unsigned int,"FFT_FFT",FFT_ANAPoint,FFT_ANAPOINT);//Analysis points
NEW_CONFIG_ITEM(unsigned int,"FFT_FFT",FFT_ANAWindow,3);//Analysis Window
NEW_CONFIG_ITEM(unsigned int,"FFT_FFT",FFT_Interval,FFT_INTERVAL);//Sequential Block Interval
//Defining variables in "FFT Analysis->FFT" section

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Delta_Color,DELTA_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Delta_Low,DELTA_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Delta_High,DELTA_WAVE_H);

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Theta_Color,THETA_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Theta_Low,THETA_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Theta_High,THETA_WAVE_H);

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Alpha1_Color,ALPHA1_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Alpha1_Low,ALPHA1_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Alpha1_High,ALPHA1_WAVE_H);

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Alpha2_Color,ALPHA2_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Alpha2_Low,ALPHA2_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Alpha2_High,ALPHA2_WAVE_H);

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Beta1_Color,BETA1_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Beta1_Low,BETA1_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Beta1_High,BETA1_WAVE_H);

NEW_CONFIG_ITEM(DWORD,"FFT_FBAND",FFT_Beta2_Color,BETA2_WAVE_COLOR);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Beta2_Low,BETA2_WAVE_L);
NEW_CONFIG_ITEM(double,"FFT_FBAND",FFT_Beta2_High,BETA2_WAVE_H);
//Defining variables in "FFT Analysis->Frequency Band" section




